package com.wang.springbootinit.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wang.springbootinit.model.dto.FeedbackQueryDTO;
import com.wang.springbootinit.model.dto.FeedbackReplyDTO;
import com.wang.springbootinit.model.entity.Feedback;
import com.wang.springbootinit.model.entity.Grade;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * 意见反馈服务接口
 * 提供意见反馈的提交、回复和管理等服务
 */
public interface FeedbackService extends IService<Feedback> {
    /**
     * 提交反馈意见
     * @param feedback 反馈信息
     * @return 操作结果
     */
    boolean submitFeedback(Feedback feedback,HttpServletRequest request);
    
    /**
     * 回复反馈意见
     * @param replyDTO 回复信息
     * @return 操作结果
     */
    boolean replyFeedback(FeedbackReplyDTO replyDTO,HttpServletRequest request);
    
    /**
     * 分页查询反馈意见
     * @param queryDTO 查询参数
     * @return 反馈列表
     */
    Page<Feedback> getFeedbackPage(FeedbackQueryDTO queryDTO);
    
    /**
     * 获取学生的反馈记录
     * @param request
     * @return 反馈记录列表
     */
    List<Feedback> getMyFeedbacks(HttpServletRequest request);
    
    /**
     * 获取反馈详情
     * @param feedbackId 反馈ID
     * @return 反馈详情
     */
    Feedback getFeedbackById(Long feedbackId);
    
    /**
     * 关闭反馈
     * @param replyDTO 反馈ID
     * @return 操作结果
     */
    boolean closeFeedback(FeedbackReplyDTO replyDTO);
} 